SQL SELECT statement met voorwaarden
De WHERE clausule is niet verplicht in een SQL statement. Ze wordt gebruikt om via voorwaarden een restrictie op te leggen aan het DELETE, UPDATE en SELECT statement.
Probleem
In de meeste gevallen zijn we niet geïnterresseerd om alle rijen uit een tabel te selecteren. We willen over de mogelijkheid beschikken om alleen de rijen, die aan een bepaalde voorwaarde voldoen, te kunnen selecteren.
Oplossing
De WHERE
clausule bevat een logische uitdrukking WAAR of VALS is. Soms gebeurt het dat het databasesysteem niet kan beslissen of een logische expressie WAAR of VALS is. In dat geval retourneert het databasesysteem UNKNOWN.
Logische uitdrukkingen kunnen enkelvoudig of samengesteld zijn. Voor een uitgebreide discussie over logische uitdrukkingen verwijs ik naar het volgende hoofdstuk.
De syntaxis van de WHERE
clause is:
WHERE voorwaarde
We willen de titels van de boeken geschreven door Beth. Daarvoor bepalen we een voorwaarde in de WHERE
clausule:
-- ji -- 11 september 2013 -- Bestandsnaam: BoekenSelectWhereFamilienaam.sql -- use JefInghelbrecht; select Voornaam, Familienaam, Titel from Boeken where Familienaam = 'Beth';
De WHERE
clausule bepaalt voorwaarden waarmee elke rij in de tabel geëvalueerd wordt. Die voorwaarden treden op als een filter die bepaalt welke rijen geretourneerd worden of niet.
Alleen de rijen die als TRUE door de evaluatie komen worden geretourneerd. De rijen die als FALSE of UNKNOWN worden geëvalueerd worden in de selectie niet weerhouden.